package com.lanxin.mp.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lanxin.mp.entity.MpContact;
import com.lanxin.mp.vo.UserContact;

import java.util.List;
import java.util.Map;

/**
 * 名片服务接口（定义所有业务方法）
 */
public interface IMpContactService extends IService<MpContact> {

    boolean batchSendToEmp(List<Long> oids, Integer empid, String sendEmpName);

    /**
     * 分页查询名片（含条件过滤）根据员工id
     */
    IPage<MpContact> listContactPage(Integer eid, Integer page, Integer pageSize, String name, String sex, String company, String typeid,String mobile);

    /**
     * 多表分页查询（名片+类型）返回VO
     * 新增：用VO封装多表数据，避免页面循环匹配
     */
    IPage<UserContact> listContactVOByPage(Integer eid, Integer page, Integer pageSize, String name, String sex, String company, String typeid,String mobile);

    /**
     * 获取名片详情（含类型名称）
     */
    Map<String, Object> getContactDetail(Long oid);

    /**
     * 保存名片
     */
    boolean saveContact(MpContact contact);

    /**
     * 更新名片
     */
    boolean updateContact(MpContact contact);

    /**
     * 批量更新名片类型
     */
    boolean batchUpdateTypeid(List<Long> oids, Integer typeid);

    /**
     * 批量发送名片给指定员工
     */
    boolean batchSendToEmp(List<Long> oids, Integer empid);
}